"""
用于自定义转换器
"""


# 用户名转换器
class UsernameConverter(object):
    """自定义路由转换器去匹配用户名"""
    # 定义匹配用户名的正则表达式
    regex = '[a-zA-Z0-9_-]{5,20}'

    def to_python(self, value):
        # 参数value就是路径提取的用户名
        # 把路径提取的字符串参数强转为指定类型传递到视图中
        # 返回值就是转化后的结果
        return str(value)

    def to_url(self, value):
        # 作用于路由反解析
        return str(value)


# 用户手机号转换器
class MobileConverter(object):
    """自定义路由转换器去匹配手机号"""
    # 定义匹配手机号的正则表达式
    regex = '1[3-9]\d{9}'

    def to_python(self, value):
        # to_python：将匹配结果传递到视图内部时使用
        return str(value)

    def to_url(self, value):
        # to_url：将匹配结果用于反向解析传值时使用
        return str(value)
